package com.hardware.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Knife4j配置类
 *
 * @作者 韩宗森
 * @创建时间 2024年10月25日 10:11
 */
@Configuration
public class Knife4jConfiguration {

    // 标题
    @Value("${knife4j.openapi.title}")
    private String title;

    // 简介
    @Value("${knife4j.openapi.description}")
    private String description;

    // 版本
    @Value("${knife4j.openapi.version}")
    private String version;

    // 作者
    @Value("${knife4j.openapi.name}")
    private String name;

    // 网址
    @Value("${knife4j.openapi.url}")
    private String url;

    // 邮箱
    @Value("${knife4j.openapi.email}")
    private String email;


    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title(title)
                        .version(version)
                        .description(description)
                        .contact(new Contact()
                                .name(name)
                                .url(url)
                                .email(email))
                );
    }

   /* @Bean
    public GroupedOpenApi userAPI() {
        return GroupedOpenApi.builder().group("用户信息管理").
                pathsToMatch("/user/**").
                build();
    }*/


    public String getTitle() {
        return title;
    }
}
